package com.csxy.six.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.csxy.six.dto.FoundItemDTO;
import com.csxy.six.entity.FoundItem;
import java.util.List;

public interface FoundItemService extends IService<FoundItem> {
    /**
     * 添加拾物信息
     * @param foundItemDTO 拾物信息DTO
     * @return 添加后的拾物信息
     */
    FoundItem addFoundItem(FoundItemDTO foundItemDTO);

    /**
     * 获取所有拾物信息
     * @return 拾物信息列表
     */
    List<FoundItem> getAllFoundItems();

    /**
     * 根据ID获取拾物信息
     * @param foundId 拾物ID
     * @return 拾物信息
     */
    FoundItem getFoundItemById(Integer foundId);

    /**
     * 更新拾物信息
     * @param foundId 拾物ID
     * @param foundItemDTO 更新的拾物信息DTO
     * @return 更新后的拾物信息
     */
    FoundItem updateFoundItem(Integer foundId, FoundItemDTO foundItemDTO);

    /**
     * 删除拾物信息
     * @param foundId 拾物ID
     */
    void deleteFoundItem(Integer foundId);

    /**
     * 根据发布者ID获取拾物信息
     * @param publisherId 发布者ID
     * @return 拾物信息列表
     */
    List<FoundItem> getFoundItemsByPublisher(Long publisherId);

    /**
     * 标记为已认领
     * @param foundId 拾物ID
     * @return 更新后的拾物信息
     */
    FoundItem markAsClaimed(Integer foundId);
}